/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package byblos.apresentacao.site;

import byblos.apresentacao.idioma.InterceptadorIdioma;
import byblos.negocio.objeto.Objeto;
import byblos.negocio.objeto.TipoObjeto;
import byblos.persistencia.DAO;
import java.util.List;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;
import org.vraptor.annotations.Logic;
import org.vraptor.annotations.Out;

/**
 *
 * @author Diego
 */
@Component
@InterceptedBy(InterceptadorIdioma.class)
public class SiteObjetoComponent {

    @Out
    private Objeto objeto;
    @Out
    private List<Objeto> objetos;

    @Logic(parameters = {"id"})
    public void visualizar(int id) {
        objeto = new DAO().localizar(Objeto.class, id);
        if(objeto.getTipo() == TipoObjeto.PACOTE) {
            objetos = new DAO().listar(Objeto.class, "PacotePorIdioma", objeto.getIdioma());
        } else {
            objetos = new DAO().listar(Objeto.class, "ObjetoPorTipoIdioma", objeto.getTipo(), objeto.getIdioma());
        }
        objetos.remove(objeto);
    }

    @Logic(parameters = {"id"})
    public void imprimir(int id) {
        objeto = new DAO().localizar(Objeto.class, id);
    }

    @Logic(parameters = {"id"})
    public void friend(int id) {
        objeto = new DAO().localizar(Objeto.class, id);
    }
}
